#include"Comm.hpp"

//创建命名管道
class Init
{
public:
    //创建管道文件
    Init()
    {
        //设置掩码
        umask(0);

        //创建管道文件
        int m = mkfifo(filename,permissions);
        if(m < 0)
        {
            std::cerr<<"创建管道文件失败"<<std::endl;
        }
        else
        {
            std::cerr<<"创建管道文件成功"<<std::endl;  
        }
    }
    //删除管道文件
    ~Init()
    {
        int m = unlink(filename);
        if(m < 0)
        {
            std::cerr<<"删除管道文件失败"<<std::endl;
        }
        else
        {
            std::cerr<<"删除管道文件成功"<<std::endl;
        }
    }
};

Init it;

class Client
{
public:
    //打开文件 -- 
    bool OpenFifo()
    {
        _fd = Open(o_wronly);
        if(_fd < 0)
        {
            return false;
        }

        return true;
    }

    //写文件
    void WriteFifo(const std::string & in)
    {
        write(_fd,in.c_str(),in.size());
    }


    //关闭文件
    void CloseFifo()
    {
        Close(_fd);
    }

private:
    int _fd;
};